package com.haidechizi.i18n.common.config;

import com.haidechizi.i18n.common.constant.ParamConstant;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.annotation.Value;

/**
 * 配置类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SpringConfiguration {

    /**
     * 国际化翻译使用的策略，默认使用simple
     */
    @Value("${" + ParamConstant.TRANSLATE_STRATEGY_NAME + ":simple}")
    private String strategyName;

    /**
     * 前端或者APP传输语言使用的key
     */
    @Value("${" + ParamConstant.USER_LOCALE + ":user-locale}")
    private String i18nLocale;

    /**
     * 系统默认的语言
     */
    @Value("${" + ParamConstant.DEFAULT_LANGUAGE + ":zh_CN}")
    private String defaultLanguage;

    /**
     * 用于过滤国际化的系统，防止重复翻译
     */
    @Value("${" + ParamConstant.CURRENT_SYSTEM_CODE + ":}")
    private String currentSystemCode;

    /**
     * 查询国际化平台是否使用缓存
     */
    @Value("${" + ParamConstant.I18N_USE_CACHE + ":false}")
    private boolean i18nUseCache = false;

    /**
     * 国际化平台缓存的过期时间
     */
    @Value("${" + ParamConstant.I18N_USE_CACHE_EXPIRE_TIME + ":300}")
    private int i18nUseCacheExpireTime = 300;

}
